package T5;

import java.util.ArrayList;
import java.util.List;

public class ArrayListGeneralStack<T> implements GeneralStack<T> {
	List<T> list=new ArrayList<T>();
	public String toString(){
		return list.toString();
	}
	
	public boolean empty() {
		return list.isEmpty();
	}
	@Override
	public int size() {
		return list.size();
	}
	public T pop() {
		if(list.isEmpty()){
		return null;
		}
		else {
			T e=list.get(list.size()-1);
			list.remove(e);
			return e;
		}
	}
	@Override
	public T peek() {
		if(list.isEmpty()){
		return null;
		}
		else return list.get(list.size());
	}

	@Override
	public T push(T item) {
		// TODO Auto-generated method stub
		if(item==null) return null;
		else{
			list.add(item);
			return item;
		}
		
	}
}
